
package com.hlkj.pay.app.user;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import com.hlkj.framework.common.pojo.CommonResult;
import com.hlkj.pay.vo.common.req.CommonUpdateStatusReq;
import com.hlkj.pay.vo.common.resp.token.OauthTokenResp;
import com.hlkj.pay.vo.user.req.UseChargeReq;
import com.hlkj.pay.vo.user.req.UseLoginReq;
import com.hlkj.pay.vo.user.req.UserTeleChargeOrderReq;

/**
 * @author HlpayTeam
 * @date 2024/10/25 14:18
 */
public interface IUserAppService {

    /**
     *
     * @param phone
     * @return
     */
    CommonResult<Void> sendAuthCode(String phone);

    /**
     *
     * @param useLoginReq
     * @return
     */
    CommonResult<OauthTokenResp> login(UseLoginReq useLoginReq);

    /**
     * 
     * @param userId
     * @param useChargeReq
     * @return
     */
    CommonResult<Void> charge(Long userId, UseChargeReq useChargeReq);
    /**
     *
     * @param userTeleChargeOrderReq
     * @return
     */
    CommonResult<Void> updateRechargeStatus(UserTeleChargeOrderReq userTeleChargeOrderReq);
    /**
     *
     * @param commonUpdateStatusReq
     * @return
     */
	CommonResult<Void> updateUserStatus(CommonUpdateStatusReq commonUpdateStatusReq);
}
